package com.system.netty.service.group.service.impl;

import com.system.netty.common.ResponseVO;
import com.system.netty.service.friendship.dao.mapper.ImFriendShipMapper;
import com.system.netty.service.group.dao.mapper.ImGroupMemberMapper;
import com.system.netty.service.group.model.req.*;
import com.system.netty.service.group.model.resp.GetRoleInGroupResp;
import com.system.netty.service.group.service.ImGroupMemberService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Collection;
import java.util.List;


@Service
@Slf4j
public class ImGroupMemberServiceImpl implements ImGroupMemberService {


    @Autowired
    ImGroupMemberMapper imGroupMemberMapper;
    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO importGroupMember(ImportGroupMemberReq req) {
        return null;
    }

    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO addMember(AddGroupMemberReq req) {
        return null;
    }

    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO removeMember(RemoveGroupMemberReq req) {
        return null;
    }

    /**
     * @param groupId
     * @param appId
     * @param dto
     * @return
     */
    @Override
    public ResponseVO addGroupMember(String groupId, Integer appId, GroupMemberDto dto) {
        return null;
    }

    /**
     * @param groupId
     * @param appId
     * @param memberId
     * @return
     */
    @Override
    public ResponseVO removeGroupMember(String groupId, Integer appId, String memberId) {
        return null;
    }

    /**
     * @param groupId
     * @param memberId
     * @param appId
     * @return
     */
    @Override
    public ResponseVO<GetRoleInGroupResp> getRoleInGroupOne(String groupId, String memberId, Integer appId) {
        return null;
    }

    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO<Collection<String>> getMemberJoinedGroup(GetJoinedGroupReq req) {
        return null;
    }

    /**
     * @param groupId
     * @param appId
     * @return
     */
    @Override
    public ResponseVO<List<GroupMemberDto>> getGroupMember(String groupId, Integer appId) {
        return null;
    }

    /**
     * @param groupId
     * @param appId
     * @return
     */
    @Override
    public List<String> getGroupMemberId(String groupId, Integer appId) {
        return null;
    }

    /**
     * @param groupId
     * @param appId
     * @return
     */
    @Override
    public List<GroupMemberDto> getGroupManager(String groupId, Integer appId) {
        return imGroupMemberMapper.getGroupManager(groupId, appId);
    }

    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO updateGroupMember(UpdateGroupMemberReq req) {
        return null;
    }

    /**
     * @param owner
     * @param groupId
     * @param appId
     * @return
     */
    @Override
    public ResponseVO transferGroupMember(String owner, String groupId, Integer appId) {
        return null;
    }

    /**
     * @param req
     * @return
     */
    @Override
    public ResponseVO speak(SpeaMemberReq req) {
        return null;
    }

    /**
     * @param operater
     * @param appId
     * @return
     */
    @Override
    public ResponseVO<Collection<String>> syncMemberJoinedGroup(String operater, Integer appId) {
        return null;
    }
}
